#include<stdio.h>
#include<string.h>

//复合数据类型：由多种数据类型组合在一起，描述复杂事务
//struck:结构体关键字
//student:结构体名
struct  Student
//结构体定义
{
    int id; //学号
    char Name[20]; //姓名
    //.....
};

//类型名重定义
typedef struct Student Stu;

//因为实参可能内存太大，所以传输选择传参指针
void PrintStu(const Stu *s) //对于不会修改内容信息的参数，默认加上const
{
    printf("%d %s\n",s->id,s->Name); //结构体指针取成员变量用->
}

struct Teacher
{
    int id;
    char Name[20];
    Stu s[10]; //结构体成员：容量和大小
    int size; //当前数组的大小
};




int main()
{
    //定义一个结构体变量:结构体关键字+结构体名+变量名
    //初始化
    // Stu s= {1,"zhangsan"};
    // s.id=2;
    // strcpy(s.Name,"lisi");
    // printf("%d %s\n",s.id,s.Name);
    
    Stu s[3]= 
    {
        {1,"zhangsan"},
        {2,"lisi"},
        {3,"wangwu"}
    };
    for(int i=0; i<3; i++)
    {
        PrintStu(s+i);
    }


    return 0;
}